Abnormal Condition Detection Circuit, Integrated Circuit Card Having the Circuit, and Method of Operating CPU

ABSTRACT

An abnormal condition detection circuit, an integrated circuit (IC) card having a central processing unit (CPU), and a method of operating the CPU, allow the CPU to be reset when an abnormal condition is detected in the IC card. The IC card includes the CPU, a non-volatile memory, an abnormal condition detection circuit, and a reset signal generator. The IC card includes detectors that detect a corresponding abnormal condition in the IC card, and an enable signal generation circuit that generates a reset enable signal and an interrupt enable signal in response to an interrupt control signal and a detection signal output from at least one of the detectors. The reset signal generator generates a reset signal in response to the reset enable signal. The CPU is reset in response to the reset signal and interrupted in response to the interrupt enable signal.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. Ser. No. 11/341,176; filed Jan. 27, 2006 and claims the priority of Korean Patent Application No. 10-2005-0065168, filed on Jul. 19, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.

FIELD OF THE INVENTION

The present invention relates to semiconductor devices, and more particularly, to integrated circuit (IC) cards, circuits therefor, and methods of operating same.

BACKGROUND OF THE INVENTION

Smart cards (also referred to as integrated circuit (IC) cards), are well known mobile data processing devices with a built-in central processing unit (CPU). An IC card generally includes an IC card substrate in which IC card devices are integrated. An IC card also may include an abnormal condition detection circuit that detects an abnormal condition in the smart card, and a reset signal generator that generates a reset signal for resetting the overall operation of the smart card in response to a signal output from the abnormal condition detection circuit, so as to reduce or prevent damage to the smart card due to a change in an external environment and/or prevent security breaches.

FIG. 1 is a block diagram of a conventional smart card 10. Referring to FIG. 1, the smart card 10, which is an IC card or a chip, includes an IC card substrate 28 which may be fabricated of paper and/or plastic. Included in the substrate 28 are a CPU 12, a random access memory (RAM) 14, a read-only memory (ROM) 16, a non-volatile memory 18, a peripheral circuit 20, and a security circuit 22. The non-volatile memory 18 may be embodied as EEPROM (electrically erasable and programmable ROM).

The CPU 12 executes an operating system (OS) program. The RAM 14 stores data generated when the CPU 12 executes the OS program. The ROM 16 stores the OS program and other programs. The non-volatile memory 18 stores various application programs and predetermined data controlled by the CPU 12.

The security circuit 22 includes an abnormal condition detector 24 and a reset signal generator 26. When at least one of ambient conditions (voltage, frequency, temperature, light, and so on) of the CPU 12 or the smart card 10 in which the CPU 12 is implemented, does not fall within a predetermined range, e.g., specifications, the abnormal condition detector 24 detects the at least one ambient condition, generates a detection signal DET as the detecting result, and outputs the detection signal DET to the CPU 12 and the reset signal generator 26. Then, the CPU 12 recognizes that the at least one abnormal condition occurs in the smart card 10, in response to the detection signal DET.

The reset signal generator 26 generates a reset signal RST for resetting the CPU 12, the non-volatile memory 18, and the peripheral circuit 20, in response to the detection signal DET.

A smart card, such as that illustrated in FIG. 1, is directly reset when an abnormal condition due to a change in an internal and/or external environment is detected therein. Since the smart card is reset, a user generally can neither learn about the abnormal condition that causes the smart card 10 to be reset, nor recover the data stored in the RAM 14, which is a non-volatile memory, since the data is initialized upon reset.

Korean Published Patent Applications 10-0471147 and 10-2004-0106075, Japanese Patent Application 2003-021797, and U.S. Pat. No. 5,465,349 describe circuits for IC cards that allow detection information and/or other information to be stored prior to a reset.

SUMMARY OF THE INVENTION

Some embodiments of the present invention provide an integrated circuit (IC) card with a central processing unit (CPU), which is capable of not only resetting the CPU but also generating an interrupt to allow the CPU to perform various operations that may be desired, when an abnormal condition is detected in the IC card; and a method of operating the CPU. Some embodiments of the present invention also provide an abnormal condition detection circuit capable of controlling activation/deactivation of a detection signal that indicates an abnormal condition to be detected in an IC card having a CPU, based on an interrupt control signal.

According to some embodiments of the present invention, there is provided an IC card with a built-in CPU, which is capable of not only resetting the CPU but also generating an interrupt even when an abnormal condition is detected in the IC card. The IC card includes an IC card substrate that itself includes the CPU, a non-volatile memory, an abnormal condition detection circuit, and a reset signal generator.

In some embodiments, an integrated circuit card comprises an integrated circuit card substrate that itself includes a central processing unit, a plurality of detectors, a respective one of which is configured to detect a corresponding abnormal condition in the integrated circuit card and to output a detection signal indicative of the abnormal condition, an enable signal generation circuit that is configured to generate a reset enable signal and an interrupt enable signal, in response to an interrupt control signal and the detection signal output from at least one of the detectors, and a reset signal generator that is configured to generate a reset signal in response to the reset enable signal. The central processing unit is configured to be reset in response to the reset signal and to be interrupted in response to the interrupt enable signal.

In some embodiments, the enable signal generation circuit comprises a plurality of monitoring registers, a respective one of which is configured to receive and store the detection signals output from their corresponding detectors. A plurality of control registers are configured to store data for controlling activation of signals output from their corresponding monitoring registers. A detection signal generation circuit is configured to generate a first detection signal in response to signals output from the monitoring registers and signals output from the control registers. A storage circuit is configured to store the interrupt control signal. An inverter is configured to invert a signal output from the storage circuit. A first AND circuit is configured to perform an AND operation on a signal output from the inverter and the first detection signal and to output the reset enable signal as an operation result. A second AND circuit is configured to perform an AND operation on the signal output from the storage circuit and the first detection signal and to output the interrupt enable signal as an operation result.

When the first detection signal is activated, the enable signal generation circuit generates the reset enable signal and the interrupt enable signal, which are complementary signals, in response to the interrupt control signal.

According to yet other embodiments of the present invention, there is provided a method of operating a central processing unit of an integrated circuit card. The method includes detecting at least one abnormal condition in the integrated circuit card and generating at least one detection signal indicative of the at least one abnormal condition, generating a reset enable signal and an interrupt enable signal in response to a reset control signal and the at least one detection signal, generating a reset signal in response to the reset enable signal, resetting the central processing unit in response to the reset signal, and interrupting the central processing unit in response to the interrupt enable signal.

The generating of the reset enable signal and the interrupt enable signal may include storing detection signals output from a plurality of detectors in a corresponding plurality of monitoring registers, generating a first detection signal in response to a control signal stored in a corresponding control register of a plurality of control registers and a signal output from a corresponding monitoring register of the monitoring registers, generating the reset enable signal by performing an AND operation on an inverted signal of the interrupt control signal and the first detection signal, and generating the interrupt enable signal by performing the AND operation on the interrupt control signal and the first detection signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:

FIG. 1 is a block diagram of a conventional smart card;

FIG. 2 is a block diagram of a smart card according to some embodiments of the present invention;

FIG. 3 is a circuit diagram of an abnormal condition detection circuit illustrated in FIG. 2 according to some embodiments of the present invention; and

FIG. 4 is a flowchart illustrating operations of a smart card, according to some embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which illustrative embodiments of the invention are shown. However, this invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

It will be understood that when an element is referred to as being “coupled”, “connected” or “responsive” to another element, it can be directly coupled, connected or responsive to the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly coupled”, “directly connected” or “directly responsive” to another element, there are no intervening elements present. Like numbers refer to like elements throughout. As used herein the term “and/or” includes any and all combinations of one or more of the associated listed items and may be abbreviated by “/”.

It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including” when used herein, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.

Unless otherwise defined, all terms (including technical and scientific terns) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

The present invention is described in part below with reference to block diagrams and/or flowcharts of methods, systems and computer program products according to embodiments of the invention. It will be understood that a block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, may be implemented at least in part by computer program instructions. These computer program instructions may be provided to one or more enterprise, application, personal, pervasive and/or embedded computer systems, such that the instructions, which execute via the computer system(s) create means, modules, devices and/or methods for implementing the functions/acts specified in the block diagram block or blocks. Combinations of general purpose computer systems and/or special purpose hardware also may be used in other embodiments.

These computer program instructions may also be stored in memory of the computer system(s) that can direct the computer system(s) to function in a particular manner, such that the instructions stored in the memory produce an article of manufacture including computer-readable program code which implements the functions/acts specified in block or blocks. The computer program instructions may also be loaded into the computer system(s) to cause a series of operational steps to be performed by the computer system(s) to produce a computer implemented process such that the instructions which execute on the processor provide steps for implementing the functions/acts specified in the block or blocks. Accordingly, a given block or blocks of the block diagrams and/or flowcharts provides support for methods, computer program products and/or systems (structural and/or means-plus-function).

It should also be noted that in some alternate implementations, the functions/acts noted in the flowcharts may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Finally, the functionality of one or more blocks may be separated and/or combined with that of other blocks.

FIG. 2 is a block diagram of a smart card 30 according to some embodiments of the present invention. The smart card 30 includes a smart card (IC card) substrate 28 which may be fabricated of paper and/or plastic. Included in the substrate 28 are a central processing unit (CPU) 12, a random access memory (RAM) 14, a read-only memory (ROM) 16, a non-volatile memory 18, a peripheral circuit 20, and a security circuit 100.

The security circuit 100 includes an abnormal condition detection circuit 110 and a reset signal generator 26. When at least one of internal/external conditions (voltage, frequency, temperature, light, removal of a protection layer, glitch, etc.) of the smart card 30 does not fall within a predetermined range, e.g., specifications, the abnormal condition detection circuit 110 detects the at least one abnormal condition, generates a detection signal, generates a reset enable signal REN and an interrupt enable signal IEN in response to a control signal and the detection signal, outputs the reset enable signal REN to the CPU 12 and the reset signal generator 26, and outputs the interrupt enable signal IEN to the CPU 12.

However, although the abnormal condition detection circuit 110 detects the at least one abnormal condition, the CPU 12 is capable of performing not only a reset operation but also the other jobs, in response to the interrupt enable signal IEN.

FIG. 3 is a circuit diagram of an abnormal condition detection circuit 110 of FIG. 2 according to some embodiments of the invention. Referring to FIG. 3, the abnormal condition detection circuit 110 includes a plurality of detectors 1111 through 1116 (e.g., a voltage detector 1111, a frequency detector 1112, a temperature detector 1113, a light detector 1114, a protection layer removal detector 1115, and/or a glitch detector 1116) and an enable signal generation circuit 120.

The voltage detector 1111 detects a case where an external voltage does not fall within a predetermined voltage range, and generates a detection signal VDET indicative of the detecting result. The frequency detector 1112 detects a case where an external input frequency does not fall within a predetermined frequency range, and generates a detection signal FDET indicative of the detecting result.

The temperature detector 1113 detects a case where external input temperature does not fall within a predetermined temperature range, and generates a detection signal TDET indicative of the detecting result. The light detector 1114 detects a case where external input light does not fall within a predetermined light range, and generates a detection signal LDET indicative of the detecting result.

The protection layer removal detector 1115 detects a case where a protection layer (such as a silicon oxide layer, etc.) on a surface of a smart card 30 (or a chip) is removed, and generates a detection signal DDET indicative of the detecting result. The glitch detector 1116 detects whether a smart card 30 (or a chip) malfunctions due to external input noise, and generates a detection signal GDET indicative of the detecting result.

For convenience for explanation, FIG. 3 illustrates that the smart card 30 includes the voltage detector 1111, the frequency detector 1112, the temperature detector 1113, the light detector 1114, the protection layer removal detector 1115, and/or the glitch detector 1116. However, the types of detectors to be included in the smart card 30 are not limited. The smart card 30 may include various types of detectors for detecting attacks by intruders and/or abnormal operating conditions, including combinations and subcombinations of the detectors 1111-1116 and/or other detectors.

Further, it is assumed that internal/external conditions (voltage, frequency, temperature, light, removal of a protection layer, glitch, etc.) of the smart card 30 do not fall within predetermined ranges, the voltage detector 1111, the frequency detector 1112, the temperature detector 1113, the light detector 1114, the protection layer removal detector 1115, and the glitch detector 1116 generate the detection signals VDET, FDET, TDET, LDET, DDET, and GDET at a high level (or a logic “1”), respectively.

The enable signal generation circuit 120 generates a reset enable signal REN and an interrupt enable signal IEN, in response to an interrupt control signal stored in a storage circuit 1501 and a detection signal VDET, FDET, TDET, LDET, DDET, and/or GDET output from at least one of the voltage detector 1111, the frequency detector 1112, the temperature detector 1113, the light detector 1114, the protection layer removal detector 1115, and/or the glitch detector 1116.

The enable signal generation circuit 120 includes a plurality of monitoring registers 1201 through 1206, a plurality of control registers 1301 through 1306, a detection signal generation circuit 140, and a signal control circuit 150.

The monitoring registers 1201 through 1206 receive and store the detection signals VDET, FDET, TDET, LDET, DDET, and/or GDET output from the voltage detector 1111, the frequency detector 1112, the temperature detector 1113, the light detector 1114, the protection layer removal detector 1115, and/or the glitch detector 1116, respectively. That is, the monitoring registers 1201 through 1206 store the detection signals VDET, FDET, TDET, LDET, DDET, and/or GDET generated when the corresponding voltage detector 1111, the frequency detector 1112, the temperature detector 1113, the light detector 1114, the protection layer removal detector 1115, and/or the glitch detector 1116 operate, respectively.

The control registers 1301 through 1306 store data for controlling activation of signals output from the corresponding monitoring registers 1201 through 1206, respectively. Each of the control registers 1301 through 1306 may be set at a high level or a low level (or a logic “0”).

For instance, when a control register 1301 is set at a low level, a signal output from an AND gate 1401 is at a low level independent of a level output from the voltage detector 1111. In other words, when the control register 1301 is set at a low level, it is possible to obtain the same effect obtained when the voltage detector 1111 is deactivated.

The detection signal generation circuit 140 includes a plurality of AND gates 1401 through 1406 and an OR gate 1407. The AND gates 1401 through 1406 receive and perform an AND operation on the signals output from the corresponding monitoring registers 1201 through 1206 and the signals output from the corresponding control registers 1301 through 1306, and output the operation results to the OR gate 1407, respectively.

The OR gate 1407 receives and performs an OR operation on the operation results from the AND gates 1401 through 1406, and outputs the operation result as a first detection signal DET.

The signal control circuit 150 includes a storage circuit 1501, an inverter 1502, a reset enable signal generation circuit 1503, and an interrupt enable signal generation circuit 1504.

The storage circuit 1501 may be embodied as a register or a latch, and stores an interrupt control signal for controlling the level of the first detection signal DET received from the OR gate 1407.

The inverter 1502 inverts a signal output from the storage circuit 1501 such as an interrupt control register. The reset enable signal generation circuit 1503 may be embodied as an AND gate, and generates a reset enable signal REN by performing an AND operation on the first detection signal DET output from the OR gate 1407 and a signal output from the inverter 1502. The CPU 12 recognizes that an abnormal condition occurs in the smart card 30, based on the reset enable signal REN.

The interrupt enable signal generation circuit 1504 generates an interrupt enable signal IEN by performing an AND operation on a signal output from the storage circuit 1501 and a first detection signal DET output from the OR gate 1407.

FIG. 4 is a flowchart illustrating operations of a smart card according to some embodiments of the present invention. The operations of the smart card 30 will now be described with reference to FIGS. 2 through 4.

First, when at least one of abnormal conditions (voltage, frequency, temperature, light, removal of a protection layer, glitch, etc.), which do not fall within predetermined ranges, occurs in the smart card 30 (block 410), a corresponding detector 1111, 1112, 1113, 1114, 1115, and/or 1116 detects the at least one abnormal condition and outputs a detection signal that is at a high level (or a logic “1”) (block 420).

The monitoring registers 1201 through 1206 receive and store the detection signals VDET, FDET, TDET, LDET, DDET, and/or GDET output from the corresponding detectors 1111 through 1116, respectively.

When the control registers 1301 through 1306 is set at a high level (logic 1), that is, they are enabled (block 430), the AND gates 1401 through 1406, respectively, output the detection signals VDET, FDET, TDET, LDET, DDET, and/or GDET, which are respectively stored the corresponding monitoring registers 1201 through 1206, without changing their levels.

However, when the control registers 1301 through 1306 is set at a low level (logic 0), that is, they are disabled (block 430), the AND gates 1401 through 1406 respectively output the detection signals VDET, FDET, TDET, LDET, DDET, and/or GDET that are all at a low level. In this case, the first detection signal DET output from the OR gate 1407 is at a low level. Thus, both the reset enable signal REN and the interrupt enable signal IEN are at a low level irrespective of whether the storage circuit 1501 is at a high level or a low level (block 440).

Accordingly, a reset signal generator 26 outputs a reset signal RST having a low level in response to the reset enable signal REN having a low level. Therefore, the CPU 12, the non-volatile memory 18, and the peripheral circuit 20 are not reset.

That is, when the control registers 1301 through 1306 are disabled, the operation of the smart card 30 is not affected even when the corresponding detectors 1111 through 1116 detect abnormal conditions (block 441). Accordingly, the smart card 30 operates normally.

However, when the control registers 1301 through 1306 is set at a high level, that is, when they are enabled (block 430), the AND gates 1401 through 1406 respectively output the detection signals VDET, FDET, TDET, LDET, DDET, and/or GDET, which are respectively output from the corresponding detectors 1111 through 1116, and thus, the signal output from the OR gate 1407 is at a high level.

Therefore, when the storage circuit 1501 (or, the interrupt control register) is set at a low level, i.e., when it is disabled (block 450), the reset enable signal generation circuit 1503 outputs the reset enable signal REN having a high level to the CPU 12 and the reset signal generator 26, and the interrupt enable signal generation circuit 1504 outputs the interrupt enable signal IEN having a low level to the CPU 12.

The reset signal generator 26 generates the reset signal RST having a high level, in response to the reset enable signal REN having a high level (block 451), and thus, the CPU 12, the non-volatile memory 18 such as EEPROM, and the peripheral circuit 20 are reset in response to the reset signal RST (block 453).

However, when the storage circuit 1501 is set at a high level, that is, when it is enabled (block 450), the reset enable signal generation circuit 1503 outputs the reset enable signal REN having a low level to the CPU 12 and the reset signal generator 26, and the interrupt enable signal generator 1504 outputs the interrupt enable signal IEN having a high level to the CPU 12.

When the storage circuit 1501 is set at a high level and the first detection signal (DET) is activated, the reset enable signal (REN) and the interrupt enable signal (IEN) are complementary signals.

Thus, the reset signal generator 26 generates the reset signal RST having a low level, in response to the reset enable signal REN having a low level, the CPU 12, the non-volatile memory 18 such as EEPROM, and the peripheral circuit 20 are not reset. In this case, since being interrupted in response to the interrupt enable signal IEN having a high level (block 452), the CPU 12 is not reset and is capable of performing a job that is desired (block 454). Therefore, the user and/or CPU 12 can check an abnormal condition that occurred in the smart card 30.

When an abnormal condition is detected, the reset signal generator 26 of a conventional smart card 10 may directly reset the CPU 12 by outputting the reset signal RST activated to the CPU 12.

In contrast, the reset signal generator 26 of the smart card 30 having the abnormal condition detection circuit 110, according to embodiments of the present invention, can output the reset signal RST that is activated or deactivated based on an interruption control signal (1 or 0) stored in the storage circuit 1501 even when an abnormal condition is detected. Accordingly, the CPU 12 may not be reset or interrupted even when at least one of the detectors 1111 through 1116 detects an abnormal condition.

As described above, an abnormal condition detection circuit according to some embodiments of the present invention is capable of controlling activation/deactivation of a detection signal indicative of whether an abnormal condition is detected in an IC card with a CPU, based on an interrupt control signal.

When an abnormal condition is detected in the IC card with the CPU, the IC card can not only reset the CPU but also can generate an interrupt, thereby allowing the CPU to perform various operations that may be desired.

Accordingly, the user and/or the CPU can check an abnormal condition occurring in the IC card.

Further, even when an abnormal condition occurs in the IC card, the user and/or CPU can perform a job therein, and recover data stored in a non-volatile memory of the IC card.

In the drawings and specification, there have been disclosed embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims. 

1. An integrated circuit card comprising: an integrated circuit card substrate, the integrated circuit card substrate comprising: a central processing unit; a plurality of detectors, a respective one of which is configured to detect a corresponding abnormal condition in the integrated circuit card and to output a detection signal indicative of the abnormal condition; an enable signal generation circuit that is configured to generate a reset enable signal and an interrupt enable signal, in response to an interrupt control signal and the detection signal output from at least one of the detectors; and a reset signal generator that is configured to generate a reset signal in response to the reset enable signal, wherein the central processing unit is configured to be reset in response to the reset signal and to be interrupted in response to the interrupt enable signal.
 2. A method of operating a central processing unit of an integrated circuit card, comprising: detecting at least one abnormal condition in the integrated circuit card and generating at least one detection signal indicative of the at least one abnormal condition; generating a reset enable signal and an interrupt enable signal in response to a reset control signal and the at least one detection signal; generating a reset signal in response to the reset enable signal; resetting the central processing unit in response to the reset signal; and interrupting the central processing unit in response to the interrupt enable signal. 